#ifndef MAININCLUDE_H
#define MAININCLUDE_H

#include <iostream>       // Basic I/O streams (cin, cout)
#include <fstream>        // File I/O streams (ifstream, ofstream)
#include <sstream>        // String streams (istringstream, ostringstream)

// Common STL Containers
#include <vector>         // Dynamic array with automatic resizing
#include <list>           // Doubly-linked list with efficient insertions and deletions
#include <deque>          // Double-ended queue with efficient insertions and deletions at both ends
#include <array>          // Fixed-size array container
#include <forward_list>   // Singly-linked list optimized for forward traversal
#include <stack>          // Stack container implementing LIFO (last-in-first-out)
#include <queue>          // Queue container implementing FIFO (first-in-first-out)
#include <map>            // Associative container for key-value pairs (sorted by key)
#include <unordered_map>  // Unordered associative container for key-value pairs (hash-based)
#include <set>            // Container for unique elements (sorted)
#include <unordered_set>  // Unordered container for unique elements (hash-based)
#include <climits>    // Constants for minimum and maximum integral values

#endif MAININCLUDE_H